Casey Bralla The NerdWorld Report

J. R. Casey Bralla
377 Farmview Drive
East Earl, PA 17519
610-810-7716

Casey's eMail Address
Technology, Religion, Politics
and
The Mind-Body Dualism Problem

JRC-65 Computer

  1. Introduction and Design Objectives
  2. Clock Circuit

Tech Info


NerdWorld Computer Museum


Essays


Links




Site Hosted by
Vorlon Information Technologies


NerdWorld Logo

Entire site Copyright © 2024 by J. R. Casey Bralla
(except for obvious external works).
All rights reserved.

NOTE: If you link to this site, or otherwise find it useful, please send a brief note to the author.

Casey's eMail Address

Thank you!

Rockwell AIM 65 Productivity Tools


Encode & Decode Cassette Audio Files to/from Source
Assemble 6502 Assembly Language Programs from Source Code
Format 6502 Source Code Files

March 23, 2026

NOTE: This is a discussion about tools developed for the Rockwell AIM 65. These tools are for creating audio files from program data, and decoding audio files back to data. For a discussion about the AIM 65 itself, please see the article Rockwell AIM 65 in the Computer Museum section of this website.



Rockwell AIM 65

The Rockwell Aim 65 was one of a group of single board computers released in the late 1970's. Like the KIM-1 or SYM-1 that preceded it, it used a 6502 processor, had an on-board keyboard and display, and used cassette tapes to load and save programs.

The AIM 65 differentiated itself by having a 20-character alphanumeric display instead of the 7-segment display. It also sported a full size QWERTY keyboard instead of a hex keyboard. Finally, it had a 20-column thermal printer. The AIM was the high-priced option for its day, and sold for about $390+ in 1978, about the same price they fetch today on eBay.

The software included in ROM is pretty impressive. The Monitor does all the normal "monitor" things like examine and change memory. But it also has a simple text editor, a 1-pass assembler, and a disassembler.

In the late 1970's I owned a Synertek SYM-1. In those days I had to hand-assemble programs and enter them in hexadecimal on the hex keypad. On the AIM, however, you can directly type 6502 mnemonics. No more of those clunky and error-prone hex characters! This particular unit also has the optional 2-pass assembler in ROM, although I haven't used that feature yet. I would have loved to have an AIM back in the day, but it was beyond my budget as a lowly engineering student.



Saving and Loading Data on Cassette Tapes

Like most computers of this era, the AIM used cassette tapes to save and load programs. Obviously, in this day and age, we don't need cassettes; all we need is an attached laptop that can record and play back audio files.

Laptop Connection

I wanted to program this system in both BASIC and assembler, but the prospect of doing all that in a 20-character window was not appealing. However, I figured there had to be a way to convert my program text files and generate the audio tones necessary to fool the AIM into thinking it was loading a previously-saved program. In that way, I could do my creative work on my regular desktop, then easily load those programs on the AIM.

I enlisted the help of Claude AI to write 2 programs in Python:

  1. Encode data into audio wave files
  2. Decode the audio waves back into data

Luckily, the documentation provided with the AIM was extensive. I uploaded an excerpt from the Rockwell User Manual that described the audio encoding method. Then I gave Claude detailed instructions about what I wanted. I was pretty impressed with Claude because in only took about 20 iterations before Claude and I had an excellent set of encoding and decoding programs.

Audio Encoding

Loading programs from an laptop can sometimes be difficult. Many people apparently have trouble getting the AIM to recognize the encoded audio data in the audio stream, even if they recorded it themselves. Volume apparently is critical. In my case, I just had my laptop blast out audio data at the maximum volume my laptop's headphone jack could produce. Of course, your mileage may vary.

One issue I had was related to my own stupidity. The Application connector on the AIM has 44 pins, labeled 1 - 22 on one side, and A - Z on the other. (Astute observers may notice that there are only 22 lettered pins, but 26 letters in the alphabet.) When I wired a mini-audio connector to the expansion connector, I needed to use pins "L" and "P". "L" is the 12th letter of the alphabet, so I soldered my connector to the 12th pin on the connector. It took me a surprisingly long time to realize that there were four missing letters, and that I should have soldered the pin opposite pin #10 [sigh]

Connector Pin Assignments



Source Code Formatting & Assembler Tools

After Claude generated these programs, I realized that I needed a good 2-pass assembler. There are many available for the 6502 (see 6502.org), but none of them seemed right for me for one reason or another. Therefore, Claude came through again with an excellent assembler that produced output in the format of RAE-1 (Resident Assembler Editor) from my old SYM-1 that I was familiar with.

Then, as I started to write some 6502 assembly language code, I realized that I needed a way to format that source code. (I find that working on formatted source code is a lot easier if the columns line up and capitalization formats are consistent throughout the source text.) Claude once again came through with a 6502 source code formatter that fixed up columns, put comments where they belonged, and fixed capitalizations for hexadecimal numbers.


Rockwell AIM 65 Tools for Downloading

All of these tools are available for your use and (hopefully) your enjoyment.



Other Usefull Files:




Demo of encoding, uploading, and running a BASIC program

Watch Video
Video of the Audio Encoder tool in use, plus a quick flashy demo of the AIM display